package com.htjc.integral.exchange.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;

import com.htjc.integral.model.exchange.vo.BpRedPacPlatformForVip;
import com.htjc.integral.model.exchange.vo.BpRedPacRequestForVip;


/**
 * 购买电费红包接口MAPPER
 * @author zhQiang 2017年03月28日
 */
@Mapper
public interface BpBuyRedPacketForVipMapper {
	
	/**
	 * 根据[平台ID]查询对应的红包库存信息列表
	 * @author zhQiang 2017年03月27日
	 * @param platformId 平台ID
	 */
	public List<Map<String, Object>> selectInvInfoByPlatformId(Map<String, Object> params);
	
	/**
	 * 根据[平台ID]和[交易号]查询【红包兑换请求主表】数据量, 判断是否重复交易
	 * @author zhQiang 2017年03月28日
	 * @param platformId 平台ID
	 * 		  dealId 交易号
	 */
    public int selectRepeatInfo(Map<String, Object> params);
    
    /**
     * 根据[平台ID]、[红包编号]查询【商城红包表】、【合作平台红包】
     * @author zhQiang 2017年03月28日
     * @param platformId 平台ID
     * 		  redpacId 红包编号
     * @return BpRedPacPlatform 【合作平台红包】信息
     */
    public BpRedPacPlatformForVip selectredPacPlatformInfo(Map<String, Object> params);
    
    /**
     * 根据[平台ID]、[红包编号]、[需减库存]更新【合作平台红包】的库存
     * @author zhQiang 2017年03月28日
     * @param platformId 平台ID
     * 		  requestRedPackId 红包编号
     * 		  requestCnt 需减库存
     */
    public int updateRedPacPlatformStock(Map<String, Object> params);
    
    /**
     * 根据[红包编号]、[需减库存]更新【商城红包表】的库存
     * @author zhQiang 2017年03月28日
     * @param requestRedPackId 红包编号
     * 		  requestCnt 需减库存
     */
    public int updateRedPacInvStock(Map<String, Object> params);
    
    /**
     * 【红包兑换请求主表】插入一条数据
     * @author zhQiang 2017年03月28日
     */
    public int insertRedPacRequest(BpRedPacRequestForVip redPacRequest);

    /**
     * 【红包兑换请求明细表】插入批量数据
     * @author zhQiang 2017年03月28日
     * @param logDeatilInfo map集合
     */
    public int insertRedPacRequestDetailBatch(List<Map<String, Object>> logDeatilInfo);
    
    /**
     * 根据[参数代码]查询【系统参数表】
     * @author zhQiang 2017年04月21日
     */
    public String selectParasByCode(String code);
    
    /**
	 * 消减库存
	 * @param REDPAC_ID ： 红包库存编号
	 * @return
	 */
	public Integer updatePlatform(Map<String, Object> map);
	/**
	 * 根据请求id查询红包兑换请求信息
	 * @param requestId
	 * @return
	 */
	public BpRedPacRequestForVip selectRedPacRequest(String handleId);
    
}